Programming Languages
Programming languages are used to describe the behaviot of a computer (includes mobile phones, tablets, embedded devices and servers) to perform a specific task. There are many programming languages and each of them has its own strengths and weaknesses. Some of the programming languages are general purpose and some of them are domain specific. Some of them are compiled and some of them are interpreted. Some of them are statically typed and some of them are dynamically typed.
A programming language is a formal specification of programs that can be executed by a computer. Every programming language has a syntax and a semantics.
The syntax of a programming language describes the valid "sentences" that can be written in the language. On the other hand, the semantics of a programming language describes the meaning of the "sentences" that can be written in the language.
Here are some langages that are popular in web development:
- Javascript
- Python
- Java
- C#
- PHP
- Go
Compiled and Interpreted Languages
Imperative Programming Language Paradigms
Procedural Programming
Object-Oriented Programming
Declarative Programming Language Paradigms
Functional Programming
Logic Programming
Types
Linters
Formatters
Package Managers
What is package manager? Package manager constraints Lock files Workspaces Monorepos
Code Editors
Using VSCode
You can use VSCode as your IDE. It is a good IDE for Javascript and Node.js development. Vscode has a lot of plugins
that you can use. For instance, you can use Prettier
plugin to format your code. You can use ESLint
plugin to check
your code quality. You can use GitLens
plugin to see git history.
Visual studio supports sharing your IDE settings across different machines. You can use .vscode
folder to store your
settings. You can put your settings in settings.json
file. You can put your tasks in tasks.json
file. These are
files are very imprtant because working in projects with different settings can be a problem. So, you need to keep your
settings in version control. (Described in the next section)
Markdown
You will write your documentation in markdown format. Markdown is a lightweight markup language with plain text formatting syntax. It is designed so that it can be converted to HTML and many other formats using a tool. Markdown is often used to format README files, for writing messages in online discussion forums, and to create rich text using a plain text editor. You can check markdown format from here.
Popular Programming Languages
Programming Language | Paradigm | Interpreted | Compiled | Typing | Canonical Linter | Canonical Formatter | Canonical Package Manager |
---|---|---|---|---|---|---|---|
Javascript | Imperative | Yes | No | Dynamic | ESLint | Prettier | npm |
Typescript | Imperative | Yes | Yes | Static | ESLint | Prettier | npm |
Python | Imperative | Yes | No | Dynamic | Pylint | Black | pip |
Java | Imperative | No | Yes | Static | Checkstyle | Google Java Format | Maven, Gradle |
C# | Imperative | No | Yes | Static | StyleCop | dotnet format | NuGet |
PHP | Imperative | Yes | No | Dynamic | PHP_CodeSniffer | PHP-CS-Fixer | Composer |
Go | Imperative | No | Yes | Static | GolangCI-Lint | Goimports | Go Modules |